package jgl.vajra.management.part.mine.contract;


import java.util.List;
import java.util.Map;

import io.reactivex.Observable;
import jgl.vajra.management.bean.CarDocumentTypeBean;
import jgl.vajra.management.databinding.ActivityCarInformationBinding;
import jgl.vajra.management.widget.mvvm.model.BaseModel;
import jgl.vajra.management.widget.mvvm.view.BaseMVVMView;
import jgl.vajra.management.widget.mvvm.viewmodel.BaseViewModel;

public class CarInformationContract {
    public abstract static class Model extends BaseModel {
        public abstract Observable<String> getRandomOrderNumber();

        public abstract Observable<List<CarDocumentTypeBean>> getCarDocumentTypeData(Map<String, Object> map);
    }

    public interface View extends BaseMVVMView {

        void onCarType(int type);

        void onAddress();

        void onGunHead();

        void onDetermine();

        void returnCarDocumentTypeData(List<CarDocumentTypeBean> data);

        void returnRandomOrderNumberSuccess(String randomOrderNumber);
    }

    public abstract static class ViewModel extends BaseViewModel<View, ActivityCarInformationBinding, Model> {

        public abstract void getRandomOrderNumber();

        public abstract void getCarDocumentTypeData(Map<String, Object> map);
    }
}
